home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / raycast.zip / BUILD.BAS next >
BASIC Source File  |  1997-05-18  |  3KB  |  119 lines

  1. ' Raycast 3D Level Builder v2.0
  2. ' Created by Exodus
  3. ' By LogicMouse.
  4. '       ^ Name of Company 
  5.  
  6. DECLARE SUB Cursor (Col%)
  7. COMMON SHARED X%, Y%
  8. SCREEN 7, 0, 0, 0
  9. ON ERROR GOTO 5
  10. GOTO g
  11. 5 CLS
  12. PRINT "Bad File Name."
  13. SLEEP 1
  14. END
  15. g:
  16. LINE (0, 0)-(319, 199), 1, B
  17. LOCATE 2, 9
  18. COLOR 15
  19. PRINT "Raycast 3D Level Builder"
  20. LINE (0, 22)-(319, 22), 1
  21.  
  22. FOR X% = 10 TO 120 STEP 10
  23.   FOR Y% = 50 TO 160 STEP 10
  24.     LINE (X%, Y%)-(X% + 10, Y% + 10), 1, B
  25.   NEXT
  26. NEXT
  27.  
  28. LINE (189, 50)-(309, 170), 1, B
  29. PAINT (190, 51), 15, 1
  30.  
  31. X% = 1
  32. Y% = 1
  33. c% = 9
  34.  
  35. Main:
  36. COLOR 15
  37. LOCATE 5, 2
  38. PRINT STR$(X%) + "," + STR$(Y%) + " "
  39. Cursor 12
  40. LOCATE 23, 3
  41. COLOR c%
  42. PRINT "Color - Press C to change."
  43. LINE (200, 75)-(200, 155), 0
  44. LINE -(280, 160), 0
  45. LINE -(280, 80), 0
  46. LINE -(200, 75), 0
  47. LINE (200, 75)-(220, 60), 0
  48. LINE (280, 80)-(300, 65), 0
  49. LINE (280, 160)-(300, 145), 0
  50. LINE (220, 60)-(300, 65), 0
  51. LINE -(300, 145), 0
  52. PAINT (205, 80), c%, 0
  53. PAINT (210, 70), c%, 0
  54. PAINT (295, 90), c%, 0
  55. DO
  56.   A$ = INKEY$
  57.   A$ = UCASE$(A$)
  58.   IF A$ = CHR$(27) THEN
  59.     CLS
  60.     SYSTEM
  61.   END IF
  62.   IF A$ = CHR$(0) + CHR$(77) AND X% < 12 THEN
  63.     Cursor 1
  64.     X% = X% + 1
  65.     GOTO Main
  66.   END IF
  67.   IF A$ = CHR$(0) + CHR$(75) AND X% > 1 THEN
  68.     Cursor 1
  69.     X% = X% - 1
  70.     GOTO Main
  71.   END IF
  72.   IF A$ = CHR$(0) + CHR$(80) AND Y% < 12 THEN
  73.     Cursor 1
  74.     Y% = Y% + 1
  75.     GOTO Main
  76.   END IF
  77.   IF A$ = CHR$(0) + CHR$(72) AND Y% > 1 THEN
  78.     Cursor 1
  79.     Y% = Y% - 1
  80.     GOTO Main
  81.   END IF
  82.   IF A$ = CHR$(32) THEN
  83.     LINE (X% * 10 + 1, 40 + (Y% * 10) + 1)-(10 + (X% * 10) - 1, 50 + (Y% * 10) - 1), c%, BF
  84.   END IF
  85.   IF A$ = CHR$(13) THEN
  86.     LINE (X% * 10 + 1, 40 + (Y% * 10) + 1)-(10 + (X% * 10) - 1, 50 + (Y% * 10) - 1), 0, BF
  87.   END IF
  88.   IF A$ = "C" THEN
  89. PickColor:
  90.     LOCATE 23, 3
  91.     PRINT "                                     "
  92.     LOCATE 23, 3
  93.     INPUT "New Color: (0 to erase a wall)", c%
  94.     IF c% < 0 OR c% > 15 THEN GOTO PickColor
  95.     LOCATE 23, 3
  96.     PRINT "                                     "
  97.   GOTO Main
  98.   END IF
  99.   IF A$ = "S" THEN
  100.     LOCATE 5, 10
  101.     LINE INPUT "Save As (No ext.): ", save$
  102.     LOCATE 5, 10
  103.     PRINT STRING$(28, 32);
  104.     OPEN save$ + ".lev" FOR OUTPUT AS #1
  105.     FOR SaveX% = 10 TO 120 STEP 10
  106.       FOR SaveY% = 50 TO 160 STEP 10
  107.         PRINT #1, POINT(SaveX% + 1, SaveY% + 1);
  108.       NEXT
  109.       PRINT #1,
  110.     NEXT
  111.     GOTO Main
  112.   END IF
  113. LOOP
  114.  
  115. SUB Cursor (Col%)
  116. LINE (X% * 10, 40 + (Y% * 10))-(10 + (X% * 10), 50 + (Y% * 10)), Col%, B
  117. END SUB
  118.  
  119.